package com.thwj.project.push.enums;

import com.thwj.common.utils.WzDateUtil;
import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/***
 * 公众号消息 模板
 */
public enum PushTemplateEnumNew {

    /***
     基础信息

     模板ID
     S3LWRYawGi39F4qatXtHga5Dsfd4DnCILulL3hyyOmc
     模板编号
     45711
     标题
     用户预约成功通知
     所属类目
     预约/报名
     操作人
     可乐 2023-10-29 添加
     场景说明
     用户报名成功后收到提示
     详细内容

     活动名称
     {{thing16.DATA}}
     活动地点
     {{thing18.DATA}}
     时间段
     {{time11.DATA}}
     时间
     {{time17.DATA}}
     联系方式
     {{phone_number6.DATA}}
     */
    ACTIVITY_SIGN_UP_SUCCESS("用户报名成功后收到提示","S3LWRYawGi39F4qatXtHga5Dsfd4DnCILulL3hyyOmc"),

    /***
     模板ID
     NLEUj6_4oXPmQbIdIcjkspFz_sfFQhjI9rQltSRdstI
     模板编号
     45559
     标题
     取消订单通知
     所属类目
     休闲娱乐
     操作人
     可乐 2023-10-30 添加
     场景说明
     取消报名通知
     详细内容

     预约项目
     {{thing14.DATA}}
     用户名称
     {{thing9.DATA}}
     联系电话
     {{phone_number15.DATA}}
     取消时间
     {{time18.DATA}}
     */
    ACTIVITY_CANCEL_SUCCESS("预约取消通知","NLEUj6_4oXPmQbIdIcjkspFz_sfFQhjI9rQltSRdstI"),

    /****
     基础信息

     模板ID
     ndGvPP-EY7nRz3i8Wf5mK13dOBHXMl5upxkG-M6NJcA
     模板编号
     44710
     标题
     预约到场通知
     所属类目
     预约/报名
     操作人
     可乐 2023-10-29 添加
     场景说明
     商家收到场地预约通知
     详细内容

     服务项目
     {{thing16.DATA}}
     对接人
     {{thing14.DATA}}
     访客电话
     {{phone_number10.DATA}}
     到场时间
     {{time5.DATA}}
     */
    MERCHANT_USED_SUCCESS("用户报名成功后收到提示","ndGvPP-EY7nRz3i8Wf5mK13dOBHXMl5upxkG-M6NJcA"),


    /***
     模板ID
     ACtej4lyNQfy-ZDlkwN-Q9daWERq2AiRP6dUZiyP3PM
     模板编号
     47391
     标题
     收款已完成通知
     所属类目
     预约/报名
     操作人
     可乐 2023-10-30 添加
     场景说明
     活动收款到账通知
     详细内容

     活动名称
     {{thing1.DATA}}
     活动地址
     {{thing3.DATA}}
     收款总金额
     {{amount4.DATA}}
     活动时间
     {{time5.DATA}}
     */
    ACTIVITY_MONEY_ARRIVAL("活动收款到账通知","ACtej4lyNQfy-ZDlkwN-Q9daWERq2AiRP6dUZiyP3PM"),


    /***
     模板ID
     n4czYTws54EAN7XM0pqZzmLgIWOefIbgK3dWYFXA0xo
     模板编号
     44766
     标题
     提现申请审批通知
     所属类目
     休闲娱乐
     操作人
     可乐 2023-10-30 添加
     场景说明
     提现申请通知
     详细内容

     用户名称
     {{thing2.DATA}}
     提现金额
     {{amount5.DATA}}
     到账金额
     {{amount8.DATA}}
     到账方式
     {{const11.DATA}}
     管理枚举值
     审批状态
     {{const13.DATA}}
     管理枚举值
     */
    WITHDRAW("提现申请审批通知","n4czYTws54EAN7XM0pqZzmLgIWOefIbgK3dWYFXA0xo"),

    /***
     模板ID
     WCInY037cRlkFd1eWgso9di44SH6MT9s_v6bOSe6gmM
     模板编号
     48977
     标题
     收到服务工单提醒
     所属类目
     休闲娱乐
     操作人
     可乐 2023-10-30 添加
     场景说明
     客服工单提醒
     详细内容

     服务项目
     {{thing3.DATA}}
     客户电话
     {{phone_number4.DATA}}
     客户下单时间
     {{time5.DATA}}
     服务房间
     {{thing2.DATA}}
     */
    KEFU_ORDER("客服工单提醒","WCInY037cRlkFd1eWgso9di44SH6MT9s_v6bOSe6gmM"),





    ;
    PushTemplateEnumNew(String name , String code){
        this.name = name;
        this.code = code;
    }

    private String name;
    private String code;


    public String getName() {
        return name;
    }

    public String getCode() {
        return code;
    }

    public static PushTemplateEnumNew getEnumByValue(String code){
        for (PushTemplateEnumNew typeEnum : PushTemplateEnumNew.values()) {
            if(typeEnum.code.equals(code)) {
                return typeEnum;
            }
        }
        return null;
    }

    /**
     *    活动名称
     *      {{thing16.DATA}}
     *      活动地点
     *      {{thing18.DATA}}
     *      时间段
     *      {{time11.DATA}}
     *      时间
     *      {{time17.DATA}}
     *      联系方式
     *      {{phone_number6.DATA}}
     */
    public static List<WxMpTemplateData> ACTIVITY_SIGN_UP_SUCCESS(String activityTitle, String locationName, String timeDuration,String phone){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing16",activityTitle,""));
        templateDataList.add(new WxMpTemplateData("thing18",locationName,""));
        templateDataList.add(new WxMpTemplateData("time11",timeDuration,""));
        templateDataList.add(new WxMpTemplateData("phone_number6",phone,""));
        return templateDataList;
    }

    /***
     预约项目
     {{thing14.DATA}}
     用户名称
     {{thing9.DATA}}
     联系电话
     {{phone_number15.DATA}}
     取消时间
     {{time18.DATA}}
     * @return
     */
    public static List<WxMpTemplateData> ACTIVITY_CANCEL_SUCCESS(String activityTitle,  String userName, String phone,String cancelDate){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing14",activityTitle,""));
        templateDataList.add(new WxMpTemplateData("thing9",userName,""));
        templateDataList.add(new WxMpTemplateData("phone_number15",phone,""));
        templateDataList.add(new WxMpTemplateData("thing15",cancelDate,""));
        return templateDataList;
    }


    /***
     服务项目
     {{thing16.DATA}}
     对接人
     {{thing14.DATA}}
     访客电话
     {{phone_number10.DATA}}
     到场时间
     {{time5.DATA}}
     */
    public static List<WxMpTemplateData> MERCHANT_USED_SUCCESS(String activityTitle, String startDate,String userName,String phone){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing16",activityTitle,""));
        templateDataList.add(new WxMpTemplateData("thing14",userName,""));
        templateDataList.add(new WxMpTemplateData("phone_number10",phone,""));
        templateDataList.add(new WxMpTemplateData("time5", startDate,""));
        return templateDataList;
    }


    /***
     活动名称
     {{thing1.DATA}}
     活动地址
     {{thing3.DATA}}
     收款总金额
     {{amount4.DATA}}
     活动时间
     {{time5.DATA}}
     */
    public static List<WxMpTemplateData> ACTIVITY_MONEY_ARRIVAL(String activityTitle, String userName,String locationName,String amount,String startDate){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing1","["+ userName +"]"+ activityTitle,""));
        templateDataList.add(new WxMpTemplateData("thing3", locationName,""));
        templateDataList.add(new WxMpTemplateData("amount4", amount,""));
        templateDataList.add(new WxMpTemplateData("time5", startDate,""));
        return templateDataList;
    }

    /***
     * 用户名称
     * {{thing2.DATA}}
     * 提现金额
     * {{amount5.DATA}}
     * 到账金额
     * {{amount8.DATA}}
     * 到账方式
     * {{const11.DATA}}
     * 管理枚举值
     * 审批状态
     * {{const13.DATA}}
     * 管理枚举值
     */
    public static List<WxMpTemplateData> WITHDRAW(String userName, BigDecimal amount, BigDecimal actualAmount, String arrivalTypeName, String statusName){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing2",userName,""));
        templateDataList.add(new WxMpTemplateData("amount5", amount.toPlainString(),""));
        templateDataList.add(new WxMpTemplateData("amount4", actualAmount.toPlainString(),""));
        templateDataList.add(new WxMpTemplateData("const11", arrivalTypeName,""));
        templateDataList.add(new WxMpTemplateData("const13", statusName,""));
        return templateDataList;
    }


    /***

     服务项目
     {{thing3.DATA}}
     客户电话
     {{phone_number4.DATA}}
     客户下单时间
     {{time5.DATA}}
     服务房间
     {{thing2.DATA}}
     */
    public static List<WxMpTemplateData> KEFU_ORDER(String userName, String phone,  String activityTitle){
        List<WxMpTemplateData> templateDataList = new ArrayList<>();
        templateDataList.add(new WxMpTemplateData("thing3",userName,userName +" 发起客服提问"));
        templateDataList.add(new WxMpTemplateData("phone_number4", phone,""));
        templateDataList.add(new WxMpTemplateData("time5", WzDateUtil.date2String(new Date(),WzDateUtil.TIME_FORMAT_A),""));
        templateDataList.add(new WxMpTemplateData("thing2", activityTitle,""));
        return templateDataList;
    }



}
